/**
 * CellSoft 2010
 */
package com.reportgear.report.core.api;

import java.awt.Graphics;
import java.awt.Rectangle;

/**
 * Painable object, each object to paint on a canvas must implement this
 * interface
 * 
 * @version 1.0 2010-05-31
 * @author lexloo
 * @since CS 1.0
 * 
 */
public interface IPaintable {
	/**
	 * @return bounds of object
	 */
	Rectangle getBounds();

	/**
	 * set bounds of object
	 * 
	 * @param bounds
	 *            the bounds to be set
	 */
	void setBounds(Rectangle bounds);

	/**
	 * paint object
	 * 
	 * @param g
	 *            the graphics object to paint on
	 */
	void paint(Graphics g);
}
